package wwk.common.util;

import java.lang.reflect.Field;
import android.content.Context;
import android.util.Log;

public class ResourceUtil {
     private static final String TAG = ResourceUtil.class.getName();
      private static ResourceUtil instance;
      private Context context;
      private static Class id= null;
      private static Class drawable = null;
      private static Class layout = null;
      private static Class anim = null;
      private static Class style = null;
      private static Class string = null;
      private static Class array = null;

      private ResourceUtil(Context paramContext)
      {
        this.context = paramContext.getApplicationContext();
        
        try
        {
            drawable = Class.forName(this.context.getPackageName() + ".R$drawable");
        }
        catch (ClassNotFoundException localClassNotFoundException1)
        {
          Log.d(TAG, localClassNotFoundException1.getMessage());
        }
        
        try
        {
            layout = Class.forName(this.context.getPackageName() + ".R$layout");
        }
        catch (ClassNotFoundException localClassNotFoundException2)
        {
          Log.d(TAG, localClassNotFoundException2.getMessage());
        }
        
        try
        {
          id = Class.forName(this.context.getPackageName() + ".R$id");
        }
        catch (ClassNotFoundException localClassNotFoundException3)
        {
          Log.d(TAG, localClassNotFoundException3.getMessage());
        }
        
        try
        {
            anim = Class.forName(this.context.getPackageName() + ".R$anim");
        }
        catch (ClassNotFoundException localClassNotFoundException4)
        {
          Log.d(TAG, localClassNotFoundException4.getMessage());
        }
        
        try
        {
            style = Class.forName(this.context.getPackageName() + ".R$style");
        }
        catch (ClassNotFoundException localClassNotFoundException5)
        {
          Log.d(TAG, localClassNotFoundException5.getMessage());
        }
        
        try
        {
            string = Class.forName(this.context.getPackageName() + ".R$string");
        }
        catch (ClassNotFoundException localClassNotFoundException6)
        {
          Log.d(TAG, localClassNotFoundException6.getMessage());
        }
        
        try
        {
            array = Class.forName(this.context.getPackageName() + ".R$array");
        }
        catch (ClassNotFoundException localClassNotFoundException7)
        {
          Log.d(TAG, localClassNotFoundException7.getMessage());
        }
      }

      public static ResourceUtil getResofR(Context paramContext)
      {
        if (instance == null)
            instance = new ResourceUtil(paramContext);
        return instance;
      }

      public int getAnim(String paramString)
      {
        return getResofR(anim, paramString);
      }

      public int getId(String paramString)
      {
        return getResofR(id, paramString);
      }

      public int getDrawable(String paramString)
      {
        return getResofR(drawable, paramString);
      }

      public int getLayout(String paramString)
      {
        return getResofR(layout, paramString);
      }

      public int getStyle(String paramString)
      {
        return getResofR(style, paramString);
      }

      public int getString(String paramString)
      {
        return getResofR(string, paramString);
      }

      public int getArray(String paramString)
      {
        return getResofR(array, paramString);
      }

      private int getResofR(Class<?> paramClass, String paramString)
      {
        if (paramClass == null)
        {
          Log.d(TAG, "getRes(null," + paramString + ")");
          throw new IllegalArgumentException("ResClass is not initialized.");
        }
        try
        {
          Field localField = paramClass.getField(paramString);
          int k = localField.getInt(paramString);
          return k;
        }
        catch (Exception localException)
        {
          Log.d(TAG, "getRes(" + paramClass.getName() + ", " + paramString + ")");
          Log.d(TAG, "Error getting resource. Make sure you have copied all resources (res/) from SDK to your project. ");
          Log.d(TAG, localException.getMessage());
        }
        return -1;
      }
}